# -*- coding: utf-8 -*-


from multiprocessing import Process, Queue

# 将任务添加到队列容器当中去
def parse_put_data(q):
    for day in range(1,51):
        data = f'今天是{day}天'
        # 将数据添加到队列容器当中 当队列为空，不会报错， 但是会堵塞，直到有数据， 取值
        q.put(data)
    q.put(None)  # 结束信号

# 从队列当中获取任务
def parse_get_data(q):
    while True:
        data = q.get()
        if data is None:  # 可能会提前终止程序
            break
        # 获取队列的任务

        print(data)


if __name__ == '__main__':
    # 创建队列
    q = Queue()
    # 创建两个子进程 负责将任务添加到容器当中， 队列记得传参
    t1 = Process(target=parse_put_data, args=(q,))
    t2 = Process(target=parse_get_data, args=(q,))

    # 开启进程
    t1.start()
    t1.join()
    t2.start()